package sixkey.service;

import com.baomidou.mybatisplus.extension.service.IService;
import sixkey.Exception.PasswordErrorException;
import sixkey.Exception.UserIsDeletedException;
import sixkey.Exception.UserNameExistException;
import sixkey.Exception.UserNameNotFoundException;
import sixkey.domain.entity.User;
import sixkey.domain.vo.UserVo;

/**
 * ClassName:IUserService
 * Package:sixkey.service.impl
 * Description
 *
 * @Author:@wenxueshi
 * @Create:2023/5/19 - 23:37
 * @Version:v1.0
 */

/**
 * 系统用户类
 */
public interface IUserService extends IService<User> {
    /**
     * 添加用户
     */
    void RegisterUser(User user) throws UserNameExistException;

    /**
     * 修改用户
     * @param user
     */
    void updateUser(User user);

    /**
     * 修改用户状态
     * @param id
     * @param state
     */
    void updateUserStatus(Long id, Long state) throws UserIsDeletedException;

    /**
     * 用户登录
     * @param loginUserVo
     */
    void doLogin(UserVo loginUserVo) throws UserNameNotFoundException, PasswordErrorException;
}
